package crontab

import (
	"net"
	"os"
	"time"

	"gitee.com/small_fish_official_net/beego_frame/bash"
	"github.com/astaxie/beego/logs"
	"github.com/astaxie/beego/toolbox"
)

func init() {
	logs.Info("开始执行定时任务初始化")
	// 程序初始化操作放在此处
	toolbox.AddTask("myTask", toolbox.NewTask("myTask", "0 1 0 * * *", day))
	toolbox.StartTask()
	logs.Info("程序定时任务初始化完成")
}

// 检测系统授权信息
func checkSystemAuthorization() {
	if bash.DEBUG {
		return
	}
	// MAC地址判断环节
	// --------------------------
	// MAC地址池
	mac_pool := []string{}
	interfaces, err := net.Interfaces()
	if err != nil {
		logs.Error("网卡信息获取失败")
		os.Exit(1)
	}
	mac_status := false
	for _, inter := range interfaces {
		mac := inter.HardwareAddr.String() //获取本机MAC地址
		logs.Info(mac)
		if !mac_status && bash.InListString(mac, mac_pool) {
			mac_status = true
		}
	}
	// 如果本机MAC地址没有一个在MAC地址池中则返回2
	if !mac_status {
		logs.Error("网卡信息未授权")
		os.Exit(1)
	}
	// Unix时间戳判断环节
	// --------------------------
	if time.Now().Unix() > bash.DateToTime("2020-12-31 00:00:00") {
		logs.Error("授权到期")
		os.Exit(1)
	}
	return
}
